//
//  UIImage+Extension.swift
//  LW_Weibo
//
//  Created by 刘伟 on 16/7/17.
//  Copyright © 2016年 LWSpro. All rights reserved.
//

import UIKit

extension UIImage {
    
    
    /*
    
       截取屏幕快照
    
    - return: 返回截取的Image
    
    */
    
    class func getScreenShot() -> UIImage {
        
        //获取主window
        let window = UIApplication.sharedApplication().keyWindow!
        
        
        //开启图片上下文
        //截取的不是高清图片
        UIGraphicsBeginImageContext(window.size)
        
        //scale 0 表示屏幕的真正分辨率, 其他数字可以自行试试 这个方法也是截取屏幕快照
//        UIGraphicsBeginImageContextWithOptions(window.size, false, 0)
        
        
        window.drawViewHierarchyInRect(window.bounds, afterScreenUpdates: false)
        
        //从上下文中获取图片
        let image = UIGraphicsGetImageFromCurrentImageContext()
        
        //关闭图片上下文
        UIGraphicsEndImageContext()
        
        return image
        
    }
    
    
        /**
        根据指定压缩后的宽度,压缩图片

        - parameter width: 压缩的宽度

        - returns:   压缩后的图片
        */

    func scaleImageWithScaleWidth(scaleWidth: CGFloat)->UIImage {
        
        //根据压缩后的宽度计算压缩后的高度
        let scaleHeight = scaleWidth * self.size.width / self.size.height
        
        //压缩后的大小
        let scaleSize = CGSize(width: scaleWidth, height: scaleHeight)
        
        //开启图形上下文
        UIGraphicsBeginImageContext(scaleSize)
        
        //把图片渲染到指定范围内
        self.drawInRect(CGRect(origin: CGPointZero, size: scaleSize))
        
        //获取上下文中的缩略图片
        let scaleImage = UIGraphicsGetImageFromCurrentImageContext()
        
        //关闭上下文
        UIGraphicsEndImageContext()
        
        
        //将缩略图返回
        return scaleImage
        
        
    }
    
    
    
    
    
    
    
}





